package com.shxy.api.service;

import com.shxy.api.bean.user.RoleBean;
import com.shxy.api.bean.user.UserInfo;

import java.util.List;

/**
 * 用户登录接口
 */
public interface ILoginService {

    /**
     * 根据用户编号获取用户账号
     * @param userId 编号
     * @return
     */
    String getUsernameById(String userId);

    /**
     * 检查用户是否存在
     * @param id
     * @return
     */
    boolean isUserExist(String id);

    /**
     * 检查账号是否存在
     * @param username 账号
     * @return
     */
    boolean isUserNameExist(String username);

    /**
     * 添加用户信息
     * @param username 账号
     * @param password 密码
     * @param realName 真实姓名
     * @param phone 电话
     * @return
     */
    String addUser(String username, String password, String realName, String phone);

    /**
     * 添加角色
     * @param name 角色名称
     * @param note 描述
     * @return
     */
    String addRole(String name, String note);

    /**
     * 判断角色名是否存在
     * @param name 角色名
     * @return
     */
    boolean isRoleNameExist(String name);

    /**
     * 根据编号查询用户信息
     * @param userId 用户id
     * @return
     */
    UserInfo getUserById(String userId);

    /**
     * 根据编号查询角色信息
     * @param roleId 角色id
     * @return
     */
    RoleBean getRoleById(String roleId);

    /**
     * 设置用户角色
     * @param user 用户
     * @param role 角色
     * @return
     */
    String setUserRole(UserInfo user, RoleBean role);

    /**
     * 根据账号查询用户信息
     * @param username 账号
     * @return
     */
    UserInfo getUserByName(String username);
}
